package com.coalmine.activiti.webadmin.upms.dao;

import java.util.List;
import java.util.Map;

import com.coalmine.activiti.webadmin.upms.model.ActDeBusiness;

/**
 * 业务类型Mapper接口
 * 
 * @author coalmine
 * @date 2021-08-21
 */
public interface ActDeBusinessMapper 
{
    /**
     * 查询业务类型
     * 
     * @param id 业务类型主键
     * @return 业务类型
     */
    public ActDeBusiness selectActDeBusinessById(String id);

    /**
     * 查询业务类型列表
     * 
     * @param actDeBusiness 业务类型
     * @return 业务类型集合
     */
    public List<ActDeBusiness> selectActDeBusinessList(ActDeBusiness actDeBusiness);

    /**
     * 新增业务类型
     * 
     * @param actDeBusiness 业务类型
     * @return 结果
     */
    public int insertActDeBusiness(ActDeBusiness actDeBusiness);

    /**
     * 修改业务类型
     * 
     * @param actDeBusiness 业务类型
     * @return 结果
     */
    public int updateActDeBusiness(ActDeBusiness actDeBusiness);

    /**
     * 删除业务类型
     * 
     * @param id 业务类型主键
     * @return 结果
     */
    public int deleteActDeBusinessById(String id);

    /**
     * 批量删除业务类型
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteActDeBusinessByIds(String[] ids);

    /**
     * 根据表明查询信息
     *
     * @param tableName 表名
     * @return 结果
     */
    public Integer findByDefIdAndTableName(String tableName);

    /**
     * 根据表名称查询定义id
     * @param tableName
     * @param type 
     * @return
     */
    List<ActDeBusiness> findDefinitionKeyByTableName(Map<String,Object> para);

	public String getChildDataType(Map<String,Object> para);

	public String findDefinitionId(String processDefinitionKey);

	public Boolean checkApproveByBizId(Map<String, Object> para);

	public List<String> getNextApproveByBizId(String procInstId);

	public String getProcInstIdByBizId(String bizId);
}
